// package git.soulbgm.utils;
//
// import com.baomidou.mybatisplus.generator.FastAutoGenerator;
// import com.baomidou.mybatisplus.generator.config.*;
// import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
//
// import java.util.Collections;
//
// /**
//  * 基于mybatis-plus生成通用代码
//  * 代码生成器配置
//  * https://baomidou.com/pages/981406/
//  *
//  * @author SoulBGM
//  * @date 2022/03/22 09:24
//  */
// public class GenerateCode {
//
//     /*
//         <dependency>
//             <groupId>com.baomidou</groupId>
//             <artifactId>mybatis-plus-generator</artifactId>
//             <version>3.5.2</version>
//         </dependency>
//         <dependency>
//             <groupId>org.freemarker</groupId>
//             <artifactId>freemarker</artifactId>
//             <version>2.3.29</version>
//             <scope>compile</scope>
//         </dependency>
//      */
//
//     /** 数据库地址 */
//     private static final String URL = "jdbc:mysql://127.0.0.1:3306/soul_monitor?useUnicode=true&characterEncoding=utf8&transformedBitIsBoolean=yes&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT";
//     /** 数据库用户名 */
//     private static final String USERNAME = "root";
//     /** 数据库密码 */
//     private static final String PASSWORD = "SoulBGM#123";
//     /** 项目的根目录 */
//     private static final String ROOT_PATH = GenerateCode.class.getProtectionDomain().getCodeSource().getLocation().getPath();
//     /** 项目名称 */
//     private static final String PROJECT_NAME = "template_demo";
//     /** 父包名 */
//     private static final String PARENT_PACKAGE_NAME = "git.soulbgm";
//     /** 作者署名 */
//     private static final String AUTHOR = "SoulBGM";
//     /** 表名 */
//     private static final String[] TABLE_NAME = {"node_info", "service_info", "software_info"};
//     /** 过滤表前缀 */
//     private static final String[] TABLE_PREFIX = {"t_", "c_"};
//
//     public static void main(String[] args) {
//         String rootOutputDir = ROOT_PATH + PROJECT_NAME + "/src/main";
//         String codeOutputDir = rootOutputDir + "/java";
//         String mapperXmlOutputDir = rootOutputDir + "/resources/mapper";
//
//         FastAutoGenerator.create(URL, USERNAME, PASSWORD)
//                 .globalConfig(builder -> {
//                     builder.author(AUTHOR) // 设置作者
//                             .enableSwagger() // 开启 swagger 模式
//                             //.fileOverride() // 覆盖已生成文件
//                             .disableOpenDir() // 禁止打开输出目录
//                             .outputDir(codeOutputDir); // 指定输出目录
//                 })
//                 .packageConfig(builder -> {
//                     builder.parent(PARENT_PACKAGE_NAME) // 设置父包名
//                             //.moduleName("system") // 设置父包模块名
//                             .pathInfo(Collections.singletonMap(OutputFile.xml, mapperXmlOutputDir)); // 设置mapperXml生成路径
//                 })
//                 .strategyConfig(builder -> {
//                     builder.addInclude(TABLE_NAME) // 设置需要生成的表名
//                             .addTablePrefix(TABLE_PREFIX); // 设置过滤表前缀
//                 })
//                 // 使用Freemarker引擎模板，默认的是Velocity引擎模板
//                 .templateEngine(new FreemarkerTemplateEngine())
//                 .execute();
//         System.out.printf("生成完成路径:%s\n", rootOutputDir);
//     }
//
// }
